//package com.qdsg.ysg.doctor.ui.activity.prescription;
//
//import android.content.Intent;
//import android.graphics.Canvas;
//import android.graphics.Rect;
//import android.os.Bundle;
//import android.view.View;
//import android.widget.CheckBox;
//import android.widget.CompoundButton;
//import android.widget.EditText;
//import android.widget.ImageView;
//import android.widget.LinearLayout;
//import android.widget.RadioButton;
//import android.widget.RadioGroup;
//import android.widget.RelativeLayout;
//import android.widget.ScrollView;
//import android.widget.TextView;
//
//import com.qdsg.ysg.doctor.R;
//import com.qdsg.ysg.doctor.base.BaseActivity;
//import com.qdsg.ysg.doctor.ui.MouldActivity;
//import com.qdsg.ysg.doctor.ui.adapter.AddMedicineListAdapter;
//import com.qdsg.ysg.doctor.ui.adapter.SecondListAdapter;
//import com.qdsg.ysg.doctor.ui.dialog.Finish3Dialog;
//import com.qdsg.ysg.doctor.ui.dialog.Item2Dialog;
//import com.qdsg.ysg.doctor.ui.dialog.ItemDialog;
//import com.qdsg.ysg.doctor.ui.dialog.MedicineListDialog;
//import com.qdsg.ysg.doctor.ui.dialog.SaveDialog;
//import com.qdsg.ysg.doctor.util.DpUtil;
//import com.qdsg.ysg.doctor.util.ToastUtil;
//import com.qdsg.ysg.doctor.util.UtilString;
//import com.rest.business.RestProxy;
//import com.rest.response.BaseResponse;
//import com.rest.response.MouldListResponse;
//import com.rest.response.MouldResponse;
//import com.rest.response.PrescriptionListResponse;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import androidx.recyclerview.widget.LinearLayoutManager;
//import androidx.recyclerview.widget.RecyclerView;
//import butterknife.BindView;
//import butterknife.ButterKnife;
//import butterknife.OnClick;
//import io.reactivex.Observer;
//import io.reactivex.disposables.Disposable;
//import jz.joyoung.robot.util.LogUtil;
//
//import static com.qdsg.ysg.doctor.base.BaseApplication.prescriptionHashMap;
//
///**
// * 带处方模板缓存的增加处方g功能
// * Created by lbj on 2021/8/23 15:49
// */
//public class AtyAddPrescription extends BaseActivity {
//    @BindView(R.id.edt_advice)
//    EditText edt_advice;
//    @BindView(R.id.edt_notice)
//    EditText edt_notice;
//
//    @BindView(R.id.pre)
//    TextView pre;
//    @BindView(R.id.main)
//    TextView main;
//    @BindView(R.id.tail)
//    TextView tail;
//
//    @BindView(R.id.recyclerView)
//    RecyclerView recyclerView;
//    @BindView(R.id.mould_container)
//    RelativeLayout mould_container;
//
//    @BindView(R.id.second_recyclerView)
//    RecyclerView second_recyclerView;
//
//    @BindView(R.id.tv_is_child)
//    CheckBox tv_is_child;
//    @BindView(R.id.btn_yuannei)
//    RadioButton btn_yuannei;
//    @BindView(R.id.btn_guoyao)
//    RadioButton btn_guoyao;
//    @BindView(R.id.tv_title)
//    TextView tvTitle;
//    @BindView(R.id.btn_back)
//    ImageView btnBack;
//    @BindView(R.id.title)
//    RelativeLayout title;
//    @BindView(R.id.tv_mould_name)
//    TextView tvMouldName;
//    @BindView(R.id.second_add)
//    ImageView secondAdd;
//    @BindView(R.id.second_diagnose)
//    LinearLayout secondDiagnose;
//    @BindView(R.id.radio_group)
//    RadioGroup radioGroup;
//    @BindView(R.id.btn_add)
//    ImageView btnAdd;
//    @BindView(R.id.btn_confirm)
//    TextView btnConfirm;
//    @BindView(R.id.sv_all)
//    ScrollView svAll;
//
//    AddMedicineListAdapter adapter;
//    SecondListAdapter secondAdapter;
//    List<PrescriptionListResponse.Prescription> list = new ArrayList<>();
//    List<PrescriptionListResponse.Second> list2 = new ArrayList<>();
//    List<PrescriptionListResponse.pInfo> pInfoList = new ArrayList<>();
//
//    String diagnoseId, prescriptionId, preAppendId, icdId, tailAppendId, preAppend, diagnoseResult, icd;
//    MouldResponse.Mould mould;
//    Finish3Dialog mFinish3Dialog;
//    @BindView(R.id.tv_mould_tip)
//    TextView tvMouldTip;
//
//
//    private Item2Dialog mItem2Dialog = null;
//    private MedicineListDialog mMedicineDialog = null;
//    private ItemDialog mItemDialog = null;
//    private SaveDialog mSaveDialog = null;
//    int type;
//    private boolean isClearMould = false, isChooseMould = false, isGuoYao = false;
//    ; //是否缓存过处方模板
//    private PrescriptionListResponse.pInfo pInfo;
//
//    @Override
//    protected int getLayoutResource() {
//        return R.layout.activity_add_prescription;
//    }
//
//    @Override
//    protected void initViews() {
//        LinearLayoutManager manager = new LinearLayoutManager( this );
//        manager.setOrientation( LinearLayoutManager.VERTICAL );
//        recyclerView.setLayoutManager( manager );
//        adapter = new AddMedicineListAdapter( this, list );
//        recyclerView.setAdapter( adapter );
//        LinearLayoutManager manager2 = new LinearLayoutManager( this );
//        manager2.setOrientation( LinearLayoutManager.VERTICAL );
//        second_recyclerView.setLayoutManager( manager2 );
//        secondAdapter = new SecondListAdapter( this, list2, isGuoYao );
//        second_recyclerView.setAdapter( secondAdapter );
//        if (UtilString.isEmpty( icd )) {//主诊断为空
//            secondAdapter.notifyDataSetChanged();
//        }
//
//        second_recyclerView.addItemDecoration( new RecyclerView.ItemDecoration() {
//            @Override
//            public void onDraw(Canvas c, RecyclerView parent, RecyclerView.State state) {
//                super.onDraw( c, parent, state );
//            }
//
//            @Override
//            public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
//                super.getItemOffsets( outRect, view, parent, state );
//                outRect.bottom = DpUtil.dip2px( AtyAddPrescription.this, 1 );
//            }
//        } );
//        tv_is_child.setOnCheckedChangeListener( new CompoundButton.OnCheckedChangeListener() {
//            @Override
//            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//                if (isChecked) {
//                    tv_is_child.setText( "是" );
//                } else {
//                    tv_is_child.setText( "否" );
//                }
//            }
//        } );
//    }
//
//    @OnClick(R.id.btn_guoyao)
//    void btn_guoyao() {
//        isGuoYao = true;
//        if (type == 0)
//            if (list.size() > 0)
//                showFinish3Dialog( 0 );
//    }
//
//    @OnClick(R.id.btn_yuannei)
//    void btn_yuannei() {
//        isGuoYao = false;
//        if (type == 1)
//            if (list.size() > 0)
//                showFinish3Dialog( 1 );
//    }
//
//
//    @Override
//    protected void initData() {
//        diagnoseId = getIntent().getStringExtra( "diagnoseId" );
////        diagnoseResult = getIntent().getStringExtra( "diagnoseResult" );
//        icd = getIntent().getStringExtra( "icd" );
////        preAppend = getIntent().getStringExtra( "preAppend" );
//        LogUtil.e( "prescriptionHashMap-----", prescriptionHashMap.size() + "" + "----" + icd );
////        if (!UtilString.isEmpty( icd )) {
////            isCacheMould = true;
////            edt_advice.setFocusable( false );
////            edt_advice.setFocusableInTouchMode( false );
////            main.setText( icd );
////            edt_advice.setText( diagnoseResult );
////            pre.setText( preAppend );
////        }
//        queryPrescriptionList();
//        pInfo = new PrescriptionListResponse().new pInfo();
//
//        if (UtilString.isEmpty( icd )) {
//            secondDiagnose.setVisibility( View.VISIBLE );
//        } else {//主诊断不为空
//            edt_advice.setFocusable( false );
//            edt_advice.setFocusableInTouchMode( false );
//        }
//        if (prescriptionHashMap.get( diagnoseId ) != null) {
//            isChooseMould = true;
//            PrescriptionListResponse.pInfo pInfoCache = prescriptionHashMap.get( diagnoseId ).pInfo.get( 0 );
//            PrescriptionListResponse.diagInfo diagInfoCache = prescriptionHashMap.get( diagnoseId ).diagInfo;
//            list.clear();
//            list.addAll( pInfoCache.westernList );
//            edt_notice.setText( pInfoCache.remark );
//            tvMouldTip.setText( "当前处方模版:" );
//            tvMouldName.setText( diagInfoCache.mouldName );
//            if (pInfoCache.isChildren == 1) {
//                tv_is_child.setChecked( true );
//                tv_is_child.setText( "是" );
//            } else {
//                tv_is_child.setChecked( false );
//                tv_is_child.setText( "否" );
//            }
//            if (pInfoCache.type == 0) {
//                btn_yuannei.setChecked( true );
//            } else {
//                btn_guoyao.setChecked( true );
//            }
//
//            if (UtilString.isEmpty( icd )) {
//                prescriptionId = pInfoCache.prescriptionId;
//                preAppendId = diagInfoCache.preAppendId;
//                tail.setText( diagInfoCache.tailAppend );
//                icdId = diagInfoCache.icdId;
//                tailAppendId = diagInfoCache.tailAppendId;
//                main.setText( diagInfoCache.icd );
//                edt_advice.setText( diagInfoCache.diagnoseResult );
//                pre.setText( diagInfoCache.preAppend );
//                list2.clear();
//                list2.addAll( diagInfoCache.secondList );
//            }
//
//            pInfo.type = pInfoCache.type;
//            pInfo.diagnoseId = diagnoseId;
//            pInfo.prescriptionId = pInfoCache.prescriptionId;
//            pInfo.remark = pInfoCache.remark;
//            pInfo.westernList = pInfoCache.westernList;
//
//        }
//    }
//
//
//    /**
//     * 添加药品
//     *
//     * @time 2020/12/1 15:11
//     */
//    @OnClick(R.id.btn_add)
//    void btn_add() {
//        if (btn_yuannei.isChecked()) {
//            showSelectHeadPicDialog( 0 );
//        }
//        if (btn_guoyao.isChecked()) {
//            showSelectHeadPicDialog( 1 );
//        }
//    }
//
//    @OnClick(R.id.second_add)
//    void second_add() {
//        if (UtilString.isEmpty( icd )) {
//            list2.add( new PrescriptionListResponse().new Second() );
//            secondAdapter.notifyDataSetChanged();
//        }
//
//    }
//
//    @OnClick(R.id.pre)
//    void pre() {//是否可以修改主诊断,
//        if (UtilString.isEmpty( icd )) {
//            showDialog( 2, 0 );
//        }
//    }
//
//    @OnClick(R.id.tail)
//    void tail() {
//        if (UtilString.isEmpty( icd )) {
//            showDialog( 4, 0 );
//        }
//
//    }
//
//    @OnClick(R.id.main)
//    void main() {
//        if (UtilString.isEmpty( icd )) {
//            showSelectHeadPicDialog2( 3, 0 );
//        }
//    }
//
//
//    /**
//     * 处方模板
//     *
//     * @time 2020/8/25 11:45
//     */
//    @OnClick(R.id.mould_container)
//    void mould_container() {
//        Bundle bundle = new Bundle();
//        bundle.putInt( "type", 1 );
//        startActivityForResult( MouldActivity.class, bundle, 1 );
//    }
//
//    @OnClick(R.id.btn_confirm)
//    void btn_confirm() {
//        isClearMould = true;
//        showSaveDialog();
//    }
//
//
//    private void save(boolean isConfirm) {
//        String isChildren = "";
//
//        if (tv_is_child.isChecked()) {
//            isChildren = "1";
//        } else {
//            isChildren = "0";
//        }
//        if (btn_yuannei.isChecked()) {
//            type = 0;
//        }
//        if (btn_guoyao.isChecked()) {
//            type = 1;
//        }
//        LogUtil.e( "模板saveicdID---", icdId );
//        RestProxy.getInstance().savePrescriptionList( diagnoseId, edt_advice.getText().toString(), edt_notice.getText().toString(), "", preAppendId, icdId, tailAppendId, isChildren, type + "", list, list2, new Observer<BaseResponse>() {
//            @Override
//            public void onSubscribe(Disposable d) {
//
//            }
//
//            @Override
//            public void onNext(BaseResponse baseResponse) {
//                if (!isConfirm) {
//                    setResult( RESULT_OK );
//                    finish();
//                }
//
//            }
//
//            @Override
//            public void onError(Throwable e) {
//                ToastUtil.onError( AtyAddPrescription.this, e );
//            }
//
//            @Override
//            public void onComplete() {
//
//            }
//        } );
//    }
//
//
//    /**
//     * 选择处方模板回显
//     *
//     * @time 2020/8/28 16:12
//     */
//    @Override
//    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
//        super.onActivityResult( requestCode, resultCode, data );
//        if (resultCode == RESULT_OK) {
//            if (requestCode == 1) {
//                mould = (MouldResponse.Mould) data.getSerializableExtra( "obj" );
//                isChooseMould = true;
////                isCacheMould = true;
////                if (!UtilString.isEmpty( icd )) {
////                    edt_advice.setFocusable( false );
////                    edt_advice.setFocusableInTouchMode( false );
////                    secondAdapter.setIsCache( isCacheMould );
////                    secondAdapter.notifyDataSetChanged();
////                }
//                getInfo();
//            }
//        }
//    }
//
//
//    /**
//     * 获取模板详情
//     *
//     * @time 2020/8/28 16:16
//     */
//    private void getInfo() {
//        RestProxy.getInstance().getPrescriptionModelList( mould.id, new Observer<MouldListResponse>() {
//            @Override
//            public void onSubscribe(Disposable d) {
//
//            }
//
//            @Override
//            public void onNext(MouldListResponse mouldResponse) {
//                type = mouldResponse.data.type;
//                if (mouldResponse.data.type == 0) {
//                    btn_yuannei.setChecked( true );
//                } else {
//                    //1是国药
//                    btn_guoyao.setChecked( true );
//                }
////                edt_diagnose_name.setText(mouldResponse.data.diagnoseResult);
//                edt_notice.setText( mouldResponse.data.remark );
//                list.clear();
//                list.addAll( mouldResponse.data.westernList );
//                adapter.notifyDataSetChanged();
//
//                if (UtilString.isEmpty( icd )) {
//                    //主诊断为空
//                    edt_advice.setText( mouldResponse.data.diagnoseResult );
//                    list2.clear();
//                    list2.addAll( mouldResponse.data.secondList );
//                    secondAdapter.notifyDataSetChanged();
//                    pre.setText( mouldResponse.data.preAppend );
//                    main.setText( mouldResponse.data.icd );
//                    tail.setText( mouldResponse.data.tailAppend );
//                }
//                preAppendId = mouldResponse.data.preAppendId;
//                icdId = mouldResponse.data.icdId;
//                LogUtil.e( "模板icdID---", icdId );
//                tailAppendId = mouldResponse.data.tailAppendId;
//                tvMouldTip.setText( "当前处方模版:" );
//                tvMouldName.setText( mouldResponse.data.name );
//
//                pInfo.type = type;
//                pInfo.diagnoseId = diagnoseId;
//                pInfo.prescriptionId = prescriptionId;
//                pInfo.remark = mouldResponse.data.remark;
//                pInfo.westernList = mouldResponse.data.westernList;
//
//            }
//
//            @Override
//            public void onError(Throwable e) {
//                ToastUtil.onError( AtyAddPrescription.this, e );
//            }
//
//            @Override
//            public void onComplete() {
//
//            }
//        } );
//    }
//
//    private void saveMould() {
//        String type = "";
//        if (btn_yuannei.isChecked()) {
//            type = "0";
//        }
//        if (btn_guoyao.isChecked()) {
//            type = "1";
//        }
//
//
//        RestProxy.getInstance().savePrescriptionModelList( "", main.getText().toString(), edt_advice.getText().toString(), edt_notice.getText().toString(), preAppendId, icdId, tailAppendId, type, list, list2, new Observer<BaseResponse>() {
//            @Override
//            public void onSubscribe(Disposable d) {
//
//            }
//
//            @Override
//            public void onNext(BaseResponse baseResponse) {
//                setResult( RESULT_OK );
//                finish();
//            }
//
//            @Override
//            public void onError(Throwable e) {
//                ToastUtil.onError( AtyAddPrescription.this, e );
//            }
//
//            @Override
//            public void onComplete() {
//
//            }
//        } );
//    }
//
//
//    /**
//     * 查询处方列表
//     *
//     * @time 2020/8/24 10:19
//     */
//    private void queryPrescriptionList() {
//        RestProxy.getInstance().queryPrescriptionList( diagnoseId, new Observer<PrescriptionListResponse>() {
//            @Override
//            public void onSubscribe(Disposable d) {
//            }
//
//            @Override
//            public void onNext(PrescriptionListResponse prescriptionResponse) {
//                if (prescriptionResponse.data.diagInfo != null) {
//                    preAppendId = prescriptionResponse.data.diagInfo.preAppendId;
//                    icdId = prescriptionResponse.data.diagInfo.icdId;
//                    tailAppendId = prescriptionResponse.data.diagInfo.tailAppendId;
//                    if (!UtilString.isEmpty( icd )) {
//                        edt_advice.setText( prescriptionResponse.data.diagInfo.diagnoseResult );
//                        pre.setText( prescriptionResponse.data.diagInfo.preAppend );
//                        main.setText( prescriptionResponse.data.diagInfo.icd );
//                        tail.setText( prescriptionResponse.data.diagInfo.tailAppend );
//                        if (prescriptionResponse.data.diagInfo.secondList != null) {
//                            if (prescriptionResponse.data.diagInfo.secondList.size() > 0) {
//                                secondDiagnose.setVisibility( View.VISIBLE );
//                                list2.addAll( prescriptionResponse.data.diagInfo.secondList );
//                                secondAdapter.notifyDataSetChanged();
//                            }
//                        } else {
//                            secondDiagnose.setVisibility( View.GONE );
//                        }
//
//                    }
//
//                }
//
//            }
//
//            @Override
//            public void onError(Throwable e) {
//                ToastUtil.onError( AtyAddPrescription.this, e );
//            }
//
//            @Override
//            public void onComplete() {
//            }
//        } );
//    }
//
//
//    @Override
//    protected void onDestroy() {
//        super.onDestroy();
//        if (!isClearMould && isChooseMould) {
//            int isChildren;
//            if (tv_is_child.isChecked()) {
//                isChildren = 1;
//            } else {
//                isChildren = 0;
//            }
//
//            pInfo.isChildren = isChildren;
//            pInfo.remark = edt_notice.getText().toString();
//            pInfoList.add( 0, pInfo );
//            PrescriptionListResponse.PrescriptionWrapper currentPrescription = new PrescriptionListResponse().new PrescriptionWrapper();
//            currentPrescription.pInfo = pInfoList;
//            PrescriptionListResponse.diagInfo diagInfo = new PrescriptionListResponse().new diagInfo();
//            diagInfo.diagnoseResult = edt_advice.getText().toString();
////        currentPrescription.presciptionId = "";
//            diagInfo.mouldName = tvMouldName.getText().toString();
//            diagInfo.preAppendId = preAppendId;
//            diagInfo.icdId = icdId;
//            diagInfo.tailAppendId = tailAppendId;
//            diagInfo.secondList = list2;
//            diagInfo.preAppend = pre.getText().toString();
//            diagInfo.icd = main.getText().toString();
//            diagInfo.tailAppend = tail.getText().toString();
//            currentPrescription.diagInfo = diagInfo;
//            prescriptionHashMap.put( diagnoseId, currentPrescription );
//        } else {
//            if (prescriptionHashMap.size() > 0) {
//                prescriptionHashMap.clear();
//            }
//        }
//
//
//    }
//
//    private void showDialog(final int type, final int position) {
//        // 初始化点击头像弹出的对话框
//        mItemDialog = ItemDialog.newInstance( type, "", isGuoYao );
//        mItemDialog.setOnItemClickListener( (s, id) -> {
//            if (type == 2) {
//                pre.setText( s );
//                preAppendId = id;
//            } else if (type == 4) {
//                tail.setText( s );
//                tailAppendId = id;
//            }
//        } );
//        mItemDialog.show( getSupportFragmentManager(), "mItemDialog" );
//    }
//
//
//    private void showSelectHeadPicDialog2(final int type, final int position) {
//        // 初始化点击头像弹出的对话框
//        mItem2Dialog = Item2Dialog.newInstance( type );
//        mItem2Dialog.setOnItemClickListener( new Item2Dialog.OnItemClickListener() {
//
//            @Override
//            public void onItem(String s, String id) {
//                main.setText( s );
//                icdId = id;
//            }
//        } );
//        mItem2Dialog.show( getSupportFragmentManager(), "mItemDialog" );
//    }
//
//    private void showFinish3Dialog(final int type) {
//        mFinish3Dialog = Finish3Dialog.newInstance( type );
//        mFinish3Dialog.show( getSupportFragmentManager(), "Finish3Dialog" );
//        mFinish3Dialog.setmListener( new Finish3Dialog.OnItemClickListener() {
//
//            @Override
//            public void onConfirm() {
//                list.clear();
//                adapter.notifyDataSetChanged();
//                mFinish3Dialog.dismiss();
//                if (type == 0) {
//                    AtyAddPrescription.this.type = 1;
//                } else {
//                    AtyAddPrescription.this.type = 0;
//                }
//            }
//
//            @Override
//            public void onCancel() {
//                if (type == 0) {
//                    btn_yuannei.setChecked( true );
//                } else {
//                    btn_guoyao.setChecked( true );
//                }
//                mFinish3Dialog.dismiss();
//            }
//        } );
//    }
//
//    /**
//     * 保存弹框
//     *
//     * @time 2020/12/1 17:03
//     */
//    private void showSaveDialog() {
//        // 初始化点击头像弹出的对话框
//        mSaveDialog = SaveDialog.newInstance();
//        mSaveDialog.setmListener( new SaveDialog.OnItemClickListener() {
//            @Override
//            public void onConfirm() {
//                save( true );
//                saveMould();
//            }
//
//            @Override
//            public void onCancel() {
//                save( false );
//            }
//        } );
//        mSaveDialog.show( getSupportFragmentManager(), "mSaveDialog" );
//    }
//
//
//    private void showSelectHeadPicDialog(int type) {
//        // 初始化药品
//        mMedicineDialog = MedicineListDialog.newInstance( type );
//        mMedicineDialog.setOnItemClickListener( p -> {
//            list.add( p );
//            adapter.notifyDataSetChanged();
//            svAll.post( new Runnable() {
//                @Override
//                public void run() {
//                    svAll.fullScroll( ScrollView.FOCUS_DOWN );
//                }
//            } );
//
//        } );
//        mMedicineDialog.show( getSupportFragmentManager(), "mMedicineDialog" );
//    }
//
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreate( savedInstanceState );
//        // TODO: add setContentView(...) invocation
//        ButterKnife.bind( this );
//    }
//}
